import Vue from 'vue'
import Axios from 'axios'

import router from './router'
import store from './store'

import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

import App from './App.vue'
import './registerServiceWorker'

Vue.prototype.$http = Axios

// 开启 debug 模式
Vue.config.debug = true

Vue.use(NProgress)
NProgress.configure({
    easing: 'ease',     // 动画方式
    speed: 500,         // 递增进度条的速度
    showSpinner: false, // 是否显示加载ico
    trickleSpeed: 200,  // 自动递增间隔
    minimum: 0.3        // 初始化时的最小百分比
})

// 加载资源时显示进度条
// Vue.http.interceptors.push((request, next) => {
//     NProgress.start()
//     next(() => {
//         NProgress.done()
//     })
// })

// 路由进入前
router.beforeEach((to, from , next) => {
    NProgress.start(); // 每次切换页面时，调用进度条
    next();
});

// 路由进入后
router.afterEach(() => {
    NProgress.done(); // 在即将进入新的页面组件前，关闭掉进度条
});

new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')
